package com.ysjy.course.service;

import com.github.pagehelper.PageInfo;
import com.wkbb.common.base.BaseService;
import com.wkbb.common.dto.ResultDTO;
import com.ysjy.course.model.OrgCourse;
import com.ysjy.course.model.YsCourseHomeData;
import com.ysjy.course.model.YsCoursePackage;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface CourseService extends BaseService<OrgCourse> {

    ResultDTO<Boolean> putCourse(OrgCourse data) throws Exception;

    ResultDTO<Boolean> putOrgCourse(OrgCourse data) throws Exception;

    void changeShelvesStatus(String ids, Integer shelvesStatus) throws Exception;

    PageInfo<OrgCourse> getOrgListByPage(Map<String, Object> params, int pageNo, int pageSize);

    OrgCourse getCourseByUniqueId(String uniqueId);
    OrgCourse getOrgCourseByUniqueId(String uniqueId,Long studentId);

    ResultDTO<Boolean> deleteOrgCourseByPrimaryKey(Long id) throws Exception;

    List<OrgCourse> getOrgCourseList(Map<String, Object> params);

    Map<String, Object> getCourseCount(HashMap<String, Object> params);

    YsCourseHomeData getCourseHomeData();

    ResultDTO<Boolean> putCoursePackage(YsCoursePackage data);

    void packageChangeShelvesStatus(String ids, Integer shelvesStatus) throws Exception;

    YsCoursePackage getCoursePackageByUniqueId(String uniqueId, Long studentId);

    PageInfo<YsCoursePackage> getCoursePackageListByPage(Map<String, Object> params, int pageNo, int pageSize);
}
